package io.xxx.xbutler.sdk.request;

import com.alibaba.fastjson2.annotation.JSONField;
import io.xxx.xbutler.sdk.TanJingRequest;
import io.xxx.xbutler.sdk.response.GetMerchantRobotPageListResponse;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.List;
import java.util.Map;

/**
 * 分页获取商家机器人详情列表
 */
@Data
@Accessors(chain = true)
public class GetMerchantRobotPageListRequest implements TanJingRequest<GetMerchantRobotPageListResponse> {

    /**
     * 机器人编号列表
     */
    @JSONField(name = "robot_serial_nos")
    private List<String> robotSerialNos;

    /**
     * 机器人类型
     * 0 - 全部
     * 10 - 平台号
     * 20 - 托管号
     * 30 - 扫码号
     */
    @JSONField(name = "type")
    private Integer type;

    /**
     * 分页大小
     */
    @JSONField(name = "page_size")
    private Integer pageSize;

    /**
     * 最大机器人id，用于分页
     */
    @JSONField(name = "max_id")
    private Long maxId;

    @Override
    public String path() {
        return "/scrm/Robot/get-merchant-robot-page-list";
    }

    @Override
    public Map<String, Object> params() {
        return Map.of(
                "robot_serial_nos", robotSerialNos,
                "type", type,
                "page_size", pageSize,
                "max_id", maxId
        );
    }

    @Override
    public Class<GetMerchantRobotPageListResponse> responseType() {
        return GetMerchantRobotPageListResponse.class;
    }

    @Override
    public String merchantName() {
        return "merchant_no";
    }
}
